سیستم عامل iOS، اولین و تنها نسل سیستمعامل Apple برای دستگاههای موبایل و قابل حمل است. این سیستمعامل برای اولین بار در سال 2007 برروی دستگاه iPhone عرضه شد و تا پیش از سال 2010 نیز به نام iPhone OS شناخته میشد. iPad Touch، iPhone و Tablet iPad مجهز به این سیستمعامل هستند و شرکت Apple مجوز استفاده از این سیستمعامل را در حال حاضر به هیچ شرکت دیگری واگذار نمیکند. تا پایان ماه مه 2010 حدود 59 درصد ترافیک موبایل وب از طریق این سیستمعامل ایجاد شده بود.
ایده اصلی این سیستمعامل استفاده از رابط کنترلی چند لمسی است. برای مثال برای جابجا کردن صفحات در iOS تنها نیاز به کشیدن یک انگشت روی صفحه است. با قرار دادن دو انگشت روی صفحه و دور کردن آنها از هم نیز میتوان برروی صفحات وب و عکسها زوم کرد. iOS از نطر معماری از چهار لایه Core OS، Core Services، Media Layer و Cocoa Touch تشکیل شدهاست. با انتشار نسخه شماره 4 Apple قابلیت Multi-Tasking را به سیستمعامل iOS اضافه کرد. نسخه 5 نیز اولین سری از سیستمعامل iOS بر پایه پردازش ابری است.
iOS از نظر معماری و کاربردی شباهت زیادی به سیستمعامل Mac OS دارد. در iOS همانند Mac OS از مرورگر Safari برای مرور وب و از نرمافزار ITunes برای پخش موزیک و مدیریت کتابها، دفترچه تلفن و Application استفاده میشود. یکی از موفقیتهای Apple در ساخت این سیستمعامل، راهاندازی فروشگاهApp Store است. این فروشگاه تا پایان ماه مه 2011 دارای بیش از 500 هزار Application بودهاست. شرکت Apple نرمافزارهای App Store را با بستن قرارداد با برنامهنویسان منتشر میکند و هر کس میتواند با استفاده از ابزار SDK سیستمعامل iOS، Application طراحی کند و بعد از دریافت مجوز از Apple آن را به قیمت دلخواه در App Store به فروش رساند. سیستمعامل iOS از ابتدای انتشار مورد هدف هکرهای سیستمعامل قرار گرفت. به این ترتیب هکرها موفق شدند هم قفل شبکه موبایل (Sim Lock) گوشی iPhone را بشکنند و هم محدودیت نصب Applicationها برروی این سیستمعامل را با استفاده از رخنههای امنیتی در مرورگر Safari و الگوریتم خواندن فایلهای PDF دور بزنند. به این کار اصطلاحاً Jailbreak گفته میشود.
معماری سیستمعامل iPhone:
سیستمعامل iPhone و سیستمعامل Mac از نظر معماری بسیار شبیه یکدیگر هستند و تنها تفاوتشان این است که لایه ای بالایی در iPhone، Cocoa Touch است و در Mac، Cocoa Framework. لایهی پایینی Core OS میباشد که بنیاد سیستمعامل است. وظیفهی این لایه مدیریت حافظه٬ فایل سیستم٬ شبکه و کارهای دیگر سیتم عامل میباشد. این لایه مستقیما با سختافزار در ارتباط است. Core OS از کامپوننتهایی نظیر زیر تشکیل شده است:
کرنل OS X، Mach 3.0، BSD، Socketها، امنیت، مدیریت نیرو، Keychain، Certificateها، فایل سیستم، Bonjour
لایه Core Services یک تجرید را بر روی سرویسهایی که توسط لایهی Core OS فراهم میشوند ارائه میدهد. این لایه دسترسی بنیادی به سرویس های سیستمعامل iPhone را فراهم کرده و از کامپوننتهای زیر تشکیل شده است:
Collectionها، Address Book، شبکه، دسترسی فایل، SQLite، Core Location، سرویسهای Net، Threading، Preferences، ابزارهای URL
لایه Media سرویسهای مالتیمدیا را فراهم میکند که میتوانید در برنامههای iPhone و iPad استفاده نمایید و از کامپوننتهای زیر تشکیل شده است:
Core Audio، OpenGL، Audio Mixing، Audio Recording، Video Playback، JPG، PNG، TIFF، PDF، Quartz، Core Animation، OpenGL ES
لایه Cocoa Touch یک لایه ی تجرید فراهم کرده تا کتابخانههای مختلفی را برای برنامهنویسی iPhone و iPad نظیر مثالهای زیر ارائه دهد:
eventهای Multi-Touch، کنترلهای Multi-Touch، Accelerometer، View Hierarchy، Localization، Alertها، Web Viewها، People Picker، Image Picker، کنترلرها
از لحاظ سخت افزاری: iPhone بجای پردازندههای X86 از پردازندههای ARM استفاده میکند. این پردازنده 32 بیتی است و به دلیل سادگی و سبک بودن در دستگاههای موبایل، کنسولهای بازی همراه، دستگاههای پخش موسیقی، ماشین حسابها و ... کاربرد دارد.
Applicationهای تحت وب Apple: در سال 2007 امکان نوشتن برنامههای تحت وب و اجرای آنها بر روی iPhone را با استفاده از مرورگر Safari فراهم کرد. با توجه به دشوار بودن برنامهنویسی برای iPhone، این امکان برای طراحان بسیار جذاب بود . زیرا براحتی میتوانستند تکنولوژیهایی مانند Ajax را به iPhone بیاورند. اما قوی نبودن موتور JavaScript مرورگر Safari باعث شد تا برنامههای تحت وب iPhone چندان دلچسب نباشند و طرفداران زیادی نداشته باشند.
محیط برنامهنویسی iPhone: Apple در سال 2008 یک IDE برای iPhone ارائه کرد. این SDK -محیط برنامهنویسی- در Xcode اجرا میشود. Xcodeهمان محیط برنامهنویسی Mac OSX است. این محیط یک شبیهساز iPhone نیز برای تست برنامههای نوشته شده دارد. اما برای ایجاد فایلی که روی دستگاه iPhone اجرا شود حتما باید یک نسخه کامل از این IDE را خریداری کرده باشید. برنامهنویسان میتوانند برنامههای خود را روی APP Store قرار دهند و بفروشند که در ازای هر خرید، 70% قیمت نرم افزار به برنامهنویس تعلق میگیرد. برنامهنویسان همچنین میتوانند نسخههای رایگانی از نرم افزار خود را روی APP Store قرار دهند.
زبان برنامهنویسی iPhone:
زبان برنامهنویسی iPhone، objective-C است، که دستورات آن شبیه C بوده و فقط قابلیتهای زبان smalltalk به آن اضافه شده است. کامپیوتری که امکان اجرای این SDK را داشته باشد باید حداقل سیستمعامل Mac osx leopard داشته باشد.
جاوا، بزودی برروی iPhone: شرکت SUN اعلام کرده است که بزودی نسخه ماشین مجازی خود را برای اجرا بر روی iPhone ارائه خواهد کرد تا برنامههای JAVA ME بر روی iPhone و iPad Touh نیز قابل اجرا باشند.
.Net بر روی iPhone: امکان اجرای فریم ورک موبایل .Net بر روی iPhone ممکن نیست. زیرا iPhone از پردازندهی ARM استفاده میکند. اما با استفاده از Monotouch میتوان نتایج مشابهی را به دست آورد. Monotouch یکی از زیرشاخههای پروژهی MONO است که امکان کامپایل کدهای .Net را برای اجرا بر روی پردازنده های ARM فراهم میکند.
Flash بر روی iPhone: هم اکنون iPhone و مرورگر Safariاش امکان نمایش فایلهای فلش را ندارند. اما کاربران میتوانند نسخهی Flash Lite را برای دیدن فایلهای فلش روی iPhone نصب کنند. اما مشکل همچنان باقی است.FLASH در اصل یک Virtual Machine با یک کامپایلر Just In Time است که هنگام اجرای فایلهای فلش باید کدهای خارجیای را روی iPhone اجرا کند که iPhone امکان چنین چیزی را به هیچ برنامه ای نمیدهد. شرکت ادوبی در نسخه فلش CS5 در حال اضافه کردن بخشی به این نرمافزار است که امکان کامپایل کردن فایلهای فلش را به Applicationهای iPhone میدهد. بنابراین تعداد بازیهای iPhone به ناگهان چندین برابر خواهد شد. با این وجود همچنان امکان مشاهدهی فایلهای اصلی فلش بر روی iPhone ممکن نیست
نظرات شما عزیزان: